Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a focused iOS rendering fix that forces current text layout measurement and reserves height for all rendered reply lines. The changes are confined to the existing markdown component and do not alter APIs, defaults, security-sensitive code, or deployment behavior. You can add or adjust custom eligibility rules. Learn more. |
d247f47 to
eb8a1b8
Compare
Dismissing prior approval to re-evaluate eb8a1b8
eb8a1b8 to
4fe892f
Compare
Dismissing prior approval to re-evaluate 4fe892f
4fe892f to
dddba7e
Compare
dddba7e to
1f549af
Compare
c5ab664 to
078b7d7
Compare
078b7d7 to
3d92556
Compare
Adapt grouped tool summaries and the floating working timer to V2 run, attempt, and queue state. Bring over the composer, keyboard, and disclosure transitions while retaining the V2 activity inspector and queue controls. Keep OV2 web composer and grouping behavior intact; share only the existing command label parser with mobile.
Restores main features dropped by the policy replay: pingdotgg#8569 theme wiring, settings search rework, pingdotgg#8803 workspace-mutation refresh (v2-adapted), video + image previews (web and mobile, v2-adapted), pingdotgg#8862 Expo glass, and the round's docs. Timeline thinking rows (pingdotgg#8984) stay on the v2 work-live system. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The v2 equivalents of main's pingdotgg#8984 and pingdotgg#8922: a "Working for ..." header anchors the active run, the trailing live tool row survives between actions in past tense instead of vanishing, and a shimmering Thinking row marks reasoning gaps. During workspace preparation the header shows "Setting up worktree..." (driven by the local dispatch flag or the v2 run's preparing status, so remote viewers see it too), the composer footer span is gone, and draft promotion waits until the run starts or startup fails instead of navigating mid-preparation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adopts the round's main features into the v2 architecture: the pingdotgg#9023 media rework (streamed videos, media-file assets, protocol-relative links), pingdotgg#9098 shared live-activity row folded into the v2 working and thinking rows, the pingdotgg#9084/pingdotgg#9078 Claude model catalog for v2 consumers, a native pingdotgg#9005 OpenCode child-session abort in the v2 adapter, pingdotgg#9013's landed LegendList patch, and per-environment sidebar provider entries. For pingdotgg#8600 the server-side pieces land, but auto-settle evaluation stays client-side (reading the new server-owned settings) until the v2 orchestrator grows its own settlement reactor; main's v1-only reactor and coalescer additions are dropped with the rest of the v1 path. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ator Ports pingdotgg#8600's server-owned settlement to orchestration v2 instead of keeping client-side evaluation. A ThreadSettlementService sweep runs at startup, on auto-settle settings changes, and once per minute: it evaluates inactivity and merged or closed pull requests over v2 thread shells and dispatches the new guarded thread.auto-settle command, which rejects threads that changed after the sweep's snapshot or carry any explicit override, then reuses the orchestrator's settle lifecycle. With the server deciding, the clients drop their effectiveSettled evaluation and partition on the persisted settledOverride like main. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adopts main's round-19 features into the v2 stack: payload-budgeted orchestration replay (pingdotgg#8992), sidebar row subscription leases (pingdotgg#9052), tool group virtualization and scroll anchoring (pingdotgg#9106), repeated-command and browser-group presentation, inline assistant citations (pingdotgg#9146), per-cwd provider skills discovery (pingdotgg#8778), Claude composer skill dispatch (pingdotgg#9128), grok health probe and model negotiation (pingdotgg#9154), and the failed-tool thinking fallback (pingdotgg#9165). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Round 17 adopted main's pingdotgg#8850 ComposerBanner.Attachment (mx-auto plus the standalone drawer-inset width) without main's matching mounts, so the stash tab's ml-auto lost to the attachment's auto right margin and the tab centered over the composer. Column now spans its attachments like main does, the stash tab zeroes the right margin, and the stash menu keeps the full dock width. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The branch had drifted from main's composer and work-log design in ways unrelated to orchestration v2: a pre-revert "Working for" shoulder tab on the composer (main reverted pingdotgg#8693 and re-landed pingdotgg#8734 without it), an inline stash variant plus in-flow stash menu, expanded tool rows that hid their icons, an unmounted woke-thread banner, a composer scroll observer main never had, and a right-panel toggle that lost its showRightPanelControl gate so it rendered twice with the panel open. ChatComposer and its satellites now start from main's files with only the v2 delta re-applied (dispatch modes, queued-message editing, runtime request ids, response capability). Background tasks surface as a ChatView banner in main's backgroundLiveness shape instead of a composer tab. SimpleWorkEntryRow takes main's PlainWorkEntryRow body with the V2ItemInspector kept behind the expander. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Renumbers the v2 migrations 044-052 to 045-053 behind main's 044_ClearAutomaticProjectModelDefaults, and adopts main's sticky new-thread selection (pingdotgg#9164), local-only worktree bases in the v2 launch path (pingdotgg#8751), the PR summary read for settlement (pingdotgg#9176), Claude per-cwd skills (pingdotgg#9210), the provider editor redesign with the branch's dedicated environment fields re-grafted (pingdotgg#8508), and the client half of continue-threads-across-restart (pingdotgg#9167). The server-side continuation markers stay unported: they live in the v1 session directory, and v2 recovery terminalizes running runs on restart, so the capability is withheld until the v2 runtime carries them. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Index event sequence lookups, recover only threads with pending work, and page projection verification and rebuilds. Bound provider event logging and omit turn histories when resuming Codex threads. Allow delegated thread identifiers through relay routes. Add focused regression coverage and document the performance constraints.
Retain main's composer, work-log, settings, mobile and performance changes through c8f77e0 while preserving v2 runs, queued messages, provider handoffs and durable history. Port native compaction and logout, asynchronous Codex questions, provider usage accounting, automatic settlement and PR refresh into the v2 services. Bound live event retention during replay and delivery, measure thread replay before decoding, and read checkpoint metadata without loading transcripts or patches. Keep main migrations through 047 and move the v2 migrations to 048–058. Preserve the existing branch history and the pre-rebase backup. Model: GPT-6. Harness: Codex.
9eeed8c to
8af5734
Compare
- Preserve Codex turn identity while suppressing duplicate diff notifications - Optimize settlement projections and isolate thread visit handling - Add concurrency and regression coverage across server and mobile
Restore the completed work timer divider and text size from main. Keep todo-list progress in the composer and omit it from web and mobile timeline entries, including completed task lists. Verified pending, running, and completed task projection; 187 focused web tests and 35 mobile tests pass. Web and mobile typechecks pass.
Show Send when a running thread has draft content. Separate submission follow from first-message anchoring so later sends do not reserve extra blank space. Restore Android initial composer insets and iOS focus-aware dictation insets. Keep opening and final assistant replies visible around completed folds, anchoring Worked for at the first hidden item while preserving v2 relationship cards and execution-attempt behavior. Validation: 107 focused tests and the mobile typecheck pass. Formatting passes; scoped lint and React Doctor report warnings but no errors. No simulator run.
The first layout of a long selectable markdown row can be one line too short, so UITextView clips the ending until the thread is opened again. Measure every drawn line and grow the row when it is taller than that first layout.
624a7fe to
e2b1c77
Compare
Dismissing prior approval to re-evaluate e2b1c77
b82facd to
2ac9bfe
Compare
|
Closing as part of the open-PR backlog sweep (wave 1). Reason: 1096-file / 391k-line contaminated rebase for a one-line iOS clip Reopen if this is still wanted and you’re willing to rebase onto current |
Long iOS markdown replies were reported to clip their last line on first open. The native view now lays out its text container at the current width before drawing, and the React wrapper uses the native line count as a minimum height, including Dynamic Type scaling.
Rebased onto v2 (
07e8f8d40d). The current wrapper exposes a typedonNativeTextLayoutcallback only on the iOS native path; the React Native fallback paths omit it. Mike's native layout and height-floor changes are preserved.Verification at
e2b1c77f9b7f:Both builds used the same disposable backend, synthetic conversations, simulator, and Metro setup. Two untracked resolution-only shims worked around v2's existing
.jsimports of TypeScript sources. The markdown implementation came directly from each compared commit. Streaming, a physical device, and wider layouts were not verified.07e8f8d40de2b1c77f9b7fLarge Dynamic Type comparison
Recording: first open on the prepared iOS build (8 seconds).
Original implementation by Mike Olson. Preparation: GPT-6 via Codex.